from content_classifier import ContentClassifier
import json
from typing import Dict, List

def run_test(classifier: ContentClassifier, 
            test_case: Dict[str, str], 
            categories: List[Dict[str, str]],
            case_id: str) -> None:
    """运行单个测试用例"""
    print(f"\n=== 测试用例 {case_id}: {test_case['description']} ===")
    print(f"测试内容: {test_case['content'][:100]}...")
    
    result = classifier.classify_content(test_case['content'], categories)
    if result:
        print("\n分类结果:")
        print(json.dumps(result, ensure_ascii=False, indent=2))
        classifier.save_result(result, "test_results", f"test_case_{case_id}")
    else:
        print("分类失败")
    print("="*50)

def main():
    # 定义测试类别
    categories = [
        {"id": "fin_stock", "name": "财经-股票"},
        {"id": "fin_property", "name": "财经-房地产"},
        {"id": "tech_ai", "name": "科技-人工智能"},
        {"id": "tech_digital", "name": "科技-数码产品"},
        {"id": "ent_movie", "name": "娱乐-电影"},
        {"id": "ent_celebrity", "name": "娱乐-明星"},
        {"id": "sports_basketball", "name": "体育-篮球"},
        {"id": "edu_policy", "name": "教育-政策"}
    ]

    # 定义测试用例
    test_cases = {
        # "case1": {
        #     "description": "股票市场新闻",
        #     "content": """
        #     美股三大指数集体收涨，道指涨超200点。苹果公司股价创历史新高，带动科技股普涨。
        #     投资者密切关注美联储政策动向，市场预期年内将有三次降息。分析师表示，
        #     科技股估值可能偏高，建议投资者关注风险。
        #     """
        # },
        # "case2": {
        #     "description": "人工智能新闻",
        #     "content": """
        #     OpenAI发布最新版GPT-5模型，性能较上代提升显著。新模型在逻辑推理、
        #     创意写作等方面都有突破性进展。多家科技公司表示将积极布局AI领域，
        #     预计未来五年在人工智能领域投资将超过100亿美元。
        #     """
        # },
        # "case3": {
        #     "description": "房地产政策",
        #     "content": """
        #     住建部发布新政：一线城市放宽购房限制，首套房贷利率下调。
        #     专家认为，此举将有效提振房地产市场信心，预计三季度楼市将逐步回暖。
        #     多家银行已开始执行新政，部分城市二手房交易量明显回升。
        #     """
        # },
        # "case4": {
        #     "description": "混合内容(科技+财经)",
        #     "content": """
        #     iPhone 15销量超预期，苹果公司市值再创新高。新机型在AI功能方面有显著提升，
        #     市场分析师预计这将带动苹果股价进一步上涨。供应链企业股价集体走强，
        #     产业链上下游企业受益明显。
        #     """
        # },
        # "case5": {
        #     "description": "教育政策新闻",
        #     "content": """
        #     教育部公布新版义务教育课程方案，加强编程教育，将人工智能基础知识纳入课程体系。
        #     各地教育部门积极响应，预计新学期开始实施。专家表示，此举将助力培养创新人才，
        #     提升学生核心竞争力。
        #     """
        # },
        # "case6": {
        #     "description": "体育新闻",
        #     "content": """
        #     NBA季后赛激战正酣，勇士队在主场以129:125击败湖人队。库里全场砍下45分，
        #     其中三分球12投8中。赛后詹姆斯表示将积极备战下一场比赛，
        #     争取在客场扳回一城。
        #     """
        # },
        "case7": {
            "description": "模糊内容(科技+娱乐)",
            "content": """
            好莱坞大片《黑客帝国4》上映，影片中大量展示了最新的VR和AI技术。
            主演基努里维斯表示，拍摄过程中他深入体验了这些尖端科技，感到非常震撼。
            影评人认为，该片不仅是一部优秀的科幻电影，也是对当前科技发展的深度思考。
            """
        },
        "case8": {
            "description": "模糊内容(体育+娱乐)",
            "content": """
            著名篮球运动员詹姆斯宣布将出演一部以篮球为主题的电影。
            这部电影将讲述一个来自贫困家庭的年轻球员奋斗成长的故事。
            詹姆斯表示，希望通过这部电影激励更多年轻人追逐梦想。
            电影界和体育界都对这一消息表示了极大的关注。
            """
        },
        "case9": {
            "description": "模糊内容(财经+教育)",
            "content": """
            某知名在线教育平台今日在纽约证券交易所成功上市，首日股价大涨30%。
            该公司CEO表示，未来将继续加大在AI教学和个性化学习方面的投入。
            教育专家认为，这标志着教育科技行业进入了一个新的发展阶段，
            也反映了资本市场对教育科技前景的看好。
            """

        }
    }

    # 初始化分类器
    classifier = ContentClassifier()

    # 运行所有测试用例
    for case_id, test_case in test_cases.items():
        run_test(classifier, test_case, categories, case_id)

if __name__ == "__main__":
    main() 